package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * 电子锁对象 zone_electronic_lock
 * 
 * @author liuyang
 * @date 2025-11-20
 */
public class ElectronicLock extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id，自增 */
    private Long id;

    /** 记录ID */
    @Excel(name = "记录ID")
    private String recordId;

    /** 电子锁编号 */
    @Excel(name = "电子锁编号")
    private String lockSerialNumber;

    /** 所属设备 */
    @Excel(name = "所属设备")
    private String deviceId;

    /** 锁具ID */
    @Excel(name = "锁具ID")
    private String lockId;

    /** 是否激活（1=是，0=否） */
    @Excel(name = "是否激活", readConverterExp = "1==是，0=否")
    private String isActive;

    /** 激活信息，如加密串 */
    @Excel(name = "激活信息，如加密串")
    private String activationInfo;

    /** 激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activatedAt;

    /** 银行机构 */
    @Excel(name = "银行机构")
    private String bankOrg;

    /** 是否有电子钥匙 */
    @Excel(name = "是否有电子钥匙")
    private String electronicKey;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setRecordId(String recordId) 
    {
        this.recordId = recordId;
    }

    public String getRecordId() 
    {
        return recordId;
    }

    public void setLockSerialNumber(String lockSerialNumber) 
    {
        this.lockSerialNumber = lockSerialNumber;
    }

    public String getLockSerialNumber() 
    {
        return lockSerialNumber;
    }

    public void setDeviceId(String deviceId) 
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId() 
    {
        return deviceId;
    }

    public void setLockId(String lockId) 
    {
        this.lockId = lockId;
    }

    public String getLockId() 
    {
        return lockId;
    }

    public void setIsActive(String isActive) 
    {
        this.isActive = isActive;
    }

    public String getIsActive() 
    {
        return isActive;
    }

    public void setActivationInfo(String activationInfo) 
    {
        this.activationInfo = activationInfo;
    }

    public String getActivationInfo() 
    {
        return activationInfo;
    }

    public void setActivatedAt(Date activatedAt) 
    {
        this.activatedAt = activatedAt;
    }

    public Date getActivatedAt() 
    {
        return activatedAt;
    }

    public void setBankOrg(String bankOrg) 
    {
        this.bankOrg = bankOrg;
    }

    public String getBankOrg() 
    {
        return bankOrg;
    }

    public void setElectronicKey(String electronicKey) 
    {
        this.electronicKey = electronicKey;
    }

    public String getElectronicKey() 
    {
        return electronicKey;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("recordId", getRecordId())
            .append("lockSerialNumber", getLockSerialNumber())
            .append("deviceId", getDeviceId())
            .append("lockId", getLockId())
            .append("isActive", getIsActive())
            .append("activationInfo", getActivationInfo())
            .append("activatedAt", getActivatedAt())
            .append("bankOrg", getBankOrg())
            .append("electronicKey", getElectronicKey())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
